const Excel = require('exceljs')

/*
示例:
columns:[
    { header: '问题', key: 'question', width: 40 },
    { header: '回答', key: 'answer', width: 40, },
    { header: '所属分类', key: 'followCategoryName', width: 15, },
    { header: '本月匹配次数', key: 'matchNum', width: 15, }
 ]
rows:[
    ['question','answer',...]
]
*/
/**
 * @param {Array} columns  表头
 * @param {Array} rows     数据
 * @param {String} sheetName  表名:非文件名
 * @param {String} output     输出路径:文件名
 */
function exportExcel(columns, rows, sheetName, output) {
    return new Promise((resolve, reject) => {
        // 创建工作区
        const workbook = new Excel.Workbook();
        // 生成工作表
        let worksheet = workbook.addWorksheet(sheetName || 'sheet1')
        // 生成表头
        worksheet.columns = columns
        // 添加行
        rows.forEach(row => {
            worksheet.addRow(row)
        });
        // 生成
        workbook.xlsx.writeFile(output).then(() => {
            resolve()
        }).catch(err => {
            reject(err)
        })
    })
}

module.exports = {
    exportExcel
}